The present invention relates to motor control and control of motor driven systems. More specifically, it relates to a method and apparatus for determining the resonant frequency of a motor system, such as a voice coil motor (VCM), for use in anti-ringing control systems.
Motor-driven translational systems are commonplace in modern electrical devices. They are used to move a mechanical system within a predetermined range of motion under electrical control. Common examples include image stabilization and autofocus systems for digital cameras, video recorders, portable devices having such functionality (e.g., mobile phones, personal digital assistants, and hand-held gaming systems), and laser drivers for optical disc readers.
In a camera or video recorder, a lens driver controls an actuator that moves the lens assembly back and forth for image stabilization and to adjust focus and magnification. One such actuator is the VCM. In a VCM, the lens position is fixed by balancing the motor and spring forces of the VCM. In other words, the VCM can be modeled as a mass coupled to a spring. When a motor moves the mass according to the drive signal, the motion generates other forces within the system which can cause the mass to oscillate around the new location at some resonant frequency (fR). This oscillation is also known as “mechanical ringing.” For example, resonant frequencies of approximately 110 Hz have been observed in consumer electronic products. Such oscillation typically diminishes over time, but impairs performance of the device in its intended function by, for example, extending the amount of time that a camera lens system takes to focus an image, distorting the image, and shortening the lifetime of the VCM.
Mechanical ringing of VCMs can be reduced by minimizing the energy supplied to the VCM at its resonant frequency, which will in turn enable the user to achieve fast mechanical settling times and enhance autofocus response times and image quality. The response of the VCM may be damped by filtering the drive signal applied to the VCM, for example through a notch filter with a center frequency at the resonant frequency, and having a stopband sufficiently wide to accommodate the expected tolerance around a VCM nominal resonant frequency. Currently, the VCM nominal resonant frequency is a single fixed frequency estimated and pre-programmed into a motor driver before operation.
Pre-programming the resonant frequency, however, can cause imprecise operation. The resonant frequency of a VCM may vary due to different vendors, the manufacturing process, or age. System manufacturers often do not know the resonant frequency of their mechanical systems precisely. Additionally, particularly in consumer electronics where system components must be made inexpensively, the resonant frequency can vary across different manufacturing lots of a common product. Furthermore, as a VCM ages, its resonant frequency may change as well. Thus, the end-user estimated and programmed nominal resonant frequency may be substantially different from the actual resonant frequency of the mechanical system.
Thus, there is a need in the art for a method to dynamically and accurately determine the natural resonant frequency of a VCM actuator, to aid the design of shorter filters, and accommodate the variations in resonant frequency. It would be further advantageous for this method to be automatic resonance detection built into the motor driver on-chip. It would be further advantageous for the resonant frequency detection to be designed to enable anti-ringing filtering “on-the-fly.”